module Multi_Insn_REG(
	iClk,
	iIRWrite,
	iWriteENB,
	iInstAddress,		// PC-counter?????. Instruction?????(4?????)
	iInstInput,
	oInstruction_1,
	oInstruction_2,
	oInstruction_3,
	oInstruction_4		// target instruction
	);
	
	input iClk, iWriteENB,iIRWrite;
	input [7:0] iInstAddress, iInstInput;
	
	output [5:0] oInstruction_1;
	output [4:0] oInstruction_2, oInstruction_3;
	output [15:0] oInstruction_4;
	
	wire [31:0] oInstruction;
   
	reg [7:0] regMem [255:0]; // 8-bit address, 8-bit Memory. (256-word) Capable of saveing 64-instruction.

  assign oInstruction = { regMem[iInstAddress], regMem[iInstAddress + 5'd1], 
	                        regMem[iInstAddress + 5'd2], regMem[iInstAddress + 5'd3] };



	assign oInstruction_1 = oInstruction[31:26];
	assign oInstruction_2 = oInstruction[25:21]; 
	assign oInstruction_3 = oInstruction[20:16]; 
	assign oInstruction_4 = oInstruction[15:0];
	
	always @(posedge iClk)
		begin
			if(iWriteENB) regMem[iInstAddress] <= iInstInput;
		end

endmodule
